#include "soc_wdt.h"

void SOC_WdtInit(uint32_t ms)
{
    /*
	(1)喂狗，避免WDT时间太短，进入WDT复位
	*/
	WDT_ClearWDT();
	/*
	(2)开启WDT溢出时间
	*/
	WDT_ConfigOverflowTime(WDT_CLK_16777216);	// Fsys=24Mhz -> Twdt = 4194304/24 = 174.76ms
}

uint16_t SOC_WdtGetTimeOutMs()
{
    return 1.0 / SOC_GetCpuFrequency() * 16777216;
}

void SOC_WdtEnable()
{
	SYS_EnableWDTReset();
}

void SOC_WdtDisable()
{
	SYS_DisableWDTReset();
}

void SOC_WdtReset()
{
	WDT_ClearWDT();
}
